package com.springboot.ww.platform.pd.ctms.api;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 描述：
 *
 * @author 🧑 ‍wanwei
 * @since 2024-06-19 16:23
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class PdShipmentResp implements Serializable {


	@JsonProperty("result")
	private ResultBeanX result;
	@JsonProperty("success")
	private boolean success;
	@JsonProperty("requestId")
	private String requestId;
	@JsonProperty("errorCode")
	private int errorCode;
	@JsonProperty("errorMsg")
	private String errorMsg;

	@JsonIgnoreProperties(ignoreUnknown = true)
	@Data
	public static class ResultBeanX implements Serializable {
		@JsonProperty("result")
		private ResultBean result;
		@JsonProperty("success")
		private boolean success;
		@JsonProperty("errorCode")
		private Object errorCode;
		@JsonProperty("serverTime")
		private long serverTime;
		@JsonProperty("errorMsg")
		private Object errorMsg;

		@JsonIgnoreProperties(ignoreUnknown = true)
		@Data
		public static class ResultBean implements Serializable {
			@JsonProperty("shipmentInfoDTO")
			private List<ShipmentInfoDTOBean> shipmentInfoDTO;

			@JsonIgnoreProperties(ignoreUnknown = true)
			@Data
			public static class ShipmentInfoDTOBean implements Serializable {
				@JsonProperty("quantity")
				private int quantity;
				@JsonProperty("carrierName")
				private String carrierName;
				@JsonProperty("packageDeliveryType")
				private int packageDeliveryType;
				@JsonProperty("packageSn")
				private String packageSn;
				@JsonProperty("carrierId")
				private int carrierId;
				@JsonProperty("trackingNumber")
				private String trackingNumber;
				@JsonProperty("skuId")
				private long skuId;
				@JsonProperty("subPackageShipmentInfoList")
				private Object subPackageShipmentInfoList;
			}
		}
	}
}
